import request from "@/utils/request";

/* 
  以下是三级分类的内容
*/
export interface reqCategoryItemType {
  id: number;
  name: string;
  category1Id?: number;
  category2Id?: number;
}

export type reqCategoryType = reqCategoryItemType[];

//1.请求一级分类列表
export const requestCategory1 = () => {
  return request.get<any, reqCategoryType>(`/admin/product/getCategory1`);
};

//2.请求二级分类列表
export const requestCategory2 = (category1Id: number) => {
  return request.get<any, reqCategoryType>(
    `/admin/product/getCategory2/${category1Id}`
  );
};

//3.请求三级分类列表
export const requestCategory3 = (category2Id: number) => {
  return request.get<any, reqCategoryType>(
    `/admin/product/getCategory3/${category2Id}`
  );
};

/* 
以下是Attr的内容
*/

//某个属性内属性值列表的类型
export interface attrValueListType{
  id?: number,
  valueName: string,
  attrId: number|undefined,
  isEdit?:boolean
}
//某个属性的类型
export interface attrListItemType{
  id?: number,
  attrName: string,
  categoryId: number,
  categoryLevel: number,
  attrValueList: attrValueListType[],
}
//属性列表的类型
export type attrListType=attrListItemType[]
//4.获取当前三级分类的属性
export const requestAttrList = (category1Id:number,category2Id:number,category3Id:number)=>{
  return request.get<any,attrListType>(`/admin/product/attrInfoList/${category1Id}/${category2Id}/${category3Id}`)
}

//5删除某个属性
export const requestDeletAttr = (attrId:number)=>{
  return request.delete<any,null>(`/admin/product/deleteAttr/${attrId}`)
}

//6.新增或者修改属性
export const requestUpdateOrAddAttr = (newAttr:attrListItemType)=>{
  return request.post<any,null>(`/admin/product/saveAttrInfo`,newAttr)
}


